package com.forum.service;

import com.forum.model.dto.PostDTO;
import com.forum.model.vo.CategoryVO;
import com.forum.model.vo.PostVO;
import com.forum.model.vo.TagVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface PostService {
    /**
     * 创建帖子
     */
    PostVO createPost(PostDTO postDTO);

    /**
     * 获取帖子详情
     */
    PostVO getPost(Long id);

    /**
     * 更新帖子
     */
    PostVO updatePost(Long id, PostDTO postDTO);

    /**
     * 删除帖子
     */
    void deletePost(Long id);

    /**
     * 上传图片
     */
    String uploadImage(MultipartFile file);

    /**
     * 获取分类列表
     */
    List<CategoryVO> getCategories();

    /**
     * 获取标签列表
     */
    List<TagVO> getTags();

    /**
     * 增加帖子浏览量
     */
    void incrementViews(Long id);

    /**
     * 获取用户帖子列表
     */
    List<PostVO> getUserPosts(Long userId);

    /**
     * 获取分类帖子列表
     */
    List<PostVO> getCategoryPosts(Long categoryId);

    /**
     * 获取标签帖子列表
     */
    List<PostVO> getTagPosts(Long tagId);
} 